---
title: Publique seu Site Astro na Azion
description: Como publicar seu site Astro na web usando Azion.
type: deploy
logo: azion
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';

Você pode publicar seu projeto Astro na [Azion](https://console.azion.com/), uma plataforma para desenvolvedores frontend colaborarem e publicarem sites estáticos (JAMstack) e SSR.

## Pré-requisitos

Para começar, você precisará de:

- Uma [conta Azion](https://www.azion.com/). Se você não tiver uma, pode se cadastrar com uma conta gratuita.
- Seu código de aplicativo armazenado em um repositório do [GitHub](https://github.com/).
- [Azion CLI](https://www.azion.com/en/documentation/products/azion-cli/overview/) instalado para configuração e publicação de projeto mais rápidas.

## Como Publicar pelo Painel Console Azion

Para começar a construir, siga estes passos:

<Steps>
1. Acesse o [Console Azion](https://console.azion.com).
2. Na página inicial, clique no botão **\+ Criar**.  
   - Isso abrirá um modal com as opções para criar novos aplicativos e recursos.  
3. Selecione a opção **Importar do GitHub** e clique no cartão.  
   - Essa ação abrirá a página de configurações.  
4. Conecte sua conta Azion com GitHub.  
   - Uma janela pop-up aparecerá solicitando autorização.  
5. Selecione o repositório que deseja importar do GitHub.  
6. Configure as definições de build:  
   - **Pré-configuração do framework:** Selecione o framework apropriado (por exemplo, `Astro`).  
   - **Diretório Raiz:** Refere-se ao diretório onde seu código está localizado. Seu código deve estar localizado no diretório raiz, e não em um subdiretório. Um símbolo ./ aparecerá neste campo, indicando que é um diretório raiz.
   - **Comando de Instalação:** o comando que compila suas configurações para construir para produção. Os comandos de build são executados através de scripts. Por exemplo: npm run build ou npm install para um pacote NPM.  
7. Clique em **Save and Deploy**.  
8. Monitore a implantação usando **Métricas em Tempo Real da Azion** e verifique se seu site está ao vivo na borda.
</Steps>

## Como Publicar um Site Estático Usando Azion CLI

<Steps>

1. **Instale Azion CLI:**  
     
   - Baixe e instale [Azion CLI](https://www.azion.com/en/documentation/products/azion-cli/overview/) para facilitar a gestão e publicação.

   :::caution
   O Azion CLI atualmente não suporta ambientes nativos Windows. No entanto, você pode usá-lo no Windows através do Windows Subsystem for Linux (WSL). Siga o [guia de instalação WSL](https://docs.microsoft.com/en-us/windows/wsl/install) para configurar um ambiente Linux em sua máquina Windows.
   :::

2. **Autentique o CLI:**  
     
   - Execute o seguinte comando para autenticar seu CLI com sua conta Azion.

   ```bash
   azion login
   ```

3. **Configure sua Aplicação:**  
     
   - Use os seguintes comandos para inicializar e configurar seu projeto:

   ```bash
   azion init
   ```  

4. **Construa seu Projeto Astro:**  
     
   - Execute seu comando de build localmente:

   ```bash
   azion build
   ```

5. **Publique seus Arquivos Estáticos:**  
     
   - Publique seus arquivos estáticos usando Azion CLI:

   ```bash
   azion deploy
   ```
</Steps>

Este guia fornece uma visão geral da publicação de aplicações estáticas.

## Habilitando Desenvolvimento Local Usando Azion CLI

Para que a pré-visualização funcione, você deve executar o seguinte comando:

```bash
azion dev
```

Depois de inicializar o servidor de desenvolvimento local, o aplicativo passa pelo processo de `build`.

```bash 
Construindo sua Aplicação Edge. Este processo pode levar alguns minutos.
Executando comando de etapa de build:
...
```

Quando a construção estiver concluída, o acesso ao aplicativo será solicitado:

```bash
[Azion Bundler] [Server] › ✔  success   Function running on port http://localhost:3000 
```

## Resolução de Problemas


### APIs de tempo de execução Node.js

Um projeto usando um pacote NPM falha a build com uma mensagem de erro como `[Error] Could not resolve "XXXX. The package "XXXX" wasn't found on the file system but is built into node.`:

Isso significa que um pacote ou importação que você está usando não é compatível com as APIs de tempo de execução Azion.

Se você estiver importando diretamente uma API de tempo de execução Node.js, consulte a [compatibilidade Node.js da Azion](https://www.azion.com/en/documentation/products/azion-edge-runtime/compatibility/node/) para obter mais passos sobre como resolver isso.

Se você estiver importando um pacote que importa uma API de tempo de execução Node.js, verifique com o autor do pacote se ele suporta a sintaxe de importação `node:*`. Se não suportar, você pode precisar encontrar um pacote alternativo.

